package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import com.FacadeNegocio;

import datatypes.MensajeDT;
import datatypes.TicketAnuladoDT;
import datatypes.TipoMensaje;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class PantallaAnular extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4469056071418168947L;
	private JPanel contentPane;
	private JTextField textIdTicket;
	private JTextField textFechaAnulacion;
	private JTextField textCodigoAnulacion;

	/**
	 * Create the frame.
	 */
	public PantallaAnular() {
		setTitle("TERMINAL - ANULAR TICKET ()");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblIdTicket = new JLabel("Numero de Ticket: ");
		lblIdTicket.setBounds(42, 46, 141, 15);
		contentPane.add(lblIdTicket);
		
		textIdTicket = new JTextField();
		textIdTicket.setBounds(212, 46, 177, 19);
		contentPane.add(textIdTicket);
		textIdTicket.setColumns(10);
		
		JLabel lblFechaAnulacion = new JLabel("Fecha Anulacion:");
		lblFechaAnulacion.setBounds(42, 87, 141, 15);
		contentPane.add(lblFechaAnulacion);
		
		final String fechaActual = ManejadorFechas.getFechaActual();
		String horaActual  = ManejadorFechas.getHoraActual();
		textFechaAnulacion = new JTextField();
		textFechaAnulacion.setEditable(false);
		textFechaAnulacion.setText(fechaActual + "   " + horaActual );
		textFechaAnulacion.setBounds(212, 87, 177, 19);
		contentPane.add(textFechaAnulacion);
		textFechaAnulacion.setColumns(10);
		
		JLabel lblCodigoAnulacion = new JLabel("Codigo Anulacion");
		lblCodigoAnulacion.setBounds(42, 131, 141, 15);
		contentPane.add(lblCodigoAnulacion);
		
		textCodigoAnulacion = new JTextField();
		textCodigoAnulacion.setBounds(212, 129, 177, 19);
		contentPane.add(textCodigoAnulacion);
		textCodigoAnulacion.setColumns(10);
		
		JButton btnConfirmar = new JButton("Confirmar"); //
		btnConfirmar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				FacadeNegocio FN = FacadeNegocio.getInstance();
				FN.crearConexion();
				
				MensajeDT mensaje = new TicketAnuladoDT( Long.parseLong( textIdTicket.getText() ) , 
														 Long.parseLong("0") ,
														 ManejadorFechas.deStringToDate( textFechaAnulacion.getText() ) ); 
				mensaje.setIdTerminal( 444 );
				
	            MensajeDT retorno = FN.enviarObjeto( mensaje );
	            
	            if ( retorno.getTipo() == TipoMensaje.ANULACIONOK ) {
	            	textCodigoAnulacion.setText( Long.toString( ((TicketAnuladoDT)retorno).getCodigoAnulacion()  ) );
	            }
				
			}
		});
		btnConfirmar.setBounds(42, 223, 117, 25);
		contentPane.add(btnConfirmar);
		
		JButton btnSalir = new JButton("Salir");
		btnSalir.setBounds(272, 223, 117, 25);
		contentPane.add(btnSalir);
		
		btnSalir.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				dispose();
			}
		});
		
		
	}
}
